﻿#define _CRT_SECURE_NO_WARNINGS



//void test1()
//{
//	int n = 10;
//	int m = 20;
//	int* p = &n;
//	*p = 30;
//	p = &m;
//}
//void test2()
//{
//	int n = 10;
//	int m = 20;
//	const int* p = &n;
//	*p = 30;
//	p = &m;
//
//}
//void test4()
//{
//	int n = 10;
//	int m = 20;
//	const int* const p = &n;
//	*p = 30;
//	p = &m;
//}
//
//int main()
//{
//	test4();//无const修饰的情况
//	//test2();//const放在 * 左边的情况
//	//test3();//const放在 * 右边的情况
//	//test4();//* 左右都有const的情况
//	return 0;
//}

//int main()
//{
//	int arr[10] = {0};
//	int* p = arr;
//	for (int i = 0; i < 11; i++)//当指针指向的范围超出数组arr的范围时，p就是野指针
//	{
//		*(p + i) = i;
//	}
//}
//#include<stdio.h>
//int n = 0;
//int* test()
//{
//	int n = 100;
//	return &n;
//}
//
//int main()
//{
//	int* p = test();
//	printf("%d\n", *p);
//	return 0;
//}
#include<stdio.h>
#define NDEBUG
#include<assert.h>
int main()
{
	int arr[10] = { 0 };
	int* p = NULL;
	assert(p != NULL);
	printf("%d ", 1);
	return 0;
}